package com.wxyzz.canteenadmin.goods.goodsType.controller;

import com.github.pagehelper.PageInfo;
import com.wxyzz.canteenadmin.goods.goodsType.param.GoodsTypeDataParam;
import com.wxyzz.canteenadmin.goods.goodsType.param.GoodsTypeVueParam;
import com.wxyzz.canteenadmin.goods.goodsType.service.GoodsTypeService;
import com.wxyzz.canteencommon.common.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/goods/goodsType")
public class GoodsTypeController {
    @Autowired
    private GoodsTypeService goodsTypeService;
    //查询  展示所有的数据，分页，模糊查询
    @GetMapping("/pageGoodsType")
    public R  pageGoodsType(GoodsTypeVueParam goodsTypeVueParam){
        PageInfo<GoodsTypeDataParam> goodsTypeDataParamPageInfo = goodsTypeService.selectAllGoodsType(goodsTypeVueParam);
        return  R.ok(goodsTypeDataParamPageInfo);
    }
    //添加和修改的时候要返回前端一个创始人集合
    @GetMapping("/getAllFounder")
    public R  getAllFounder(){
        List<GoodsTypeDataParam> allFounder = goodsTypeService.findAllFounder();
        return  R.ok(allFounder);
    }
    //添加和修改的时候要返回前端一个商品名称
    @GetMapping("/getAllSortName")
    public R  getAllSortName(){
        List<GoodsTypeDataParam> allSortName = goodsTypeService.findAllSortName();
        return  R.ok(allSortName);
    }

    //添加  添加商品分类信息
    @PostMapping("/addGoodsType")
    public R addGoodsType(@RequestBody GoodsTypeVueParam goodsTypeVueParam){
        System.out.println("@@@@@@@@"+goodsTypeVueParam);
        goodsTypeService.saveGoodsType(goodsTypeVueParam);
        return  R.ok();
    }
    //修改  在修改前先通过id进行查询展示当前行的信息
    @GetMapping("/findGoodsTypeById")
    public R findGoodsTypeById(int id){
        GoodsTypeDataParam goodsTypeById = goodsTypeService.findGoodsTypeById(id);
        return  R.ok(goodsTypeById);
    }
    //修改  修改商品分类信息
    @PostMapping("/updateGoodsType")
    public R updateGoodsType(@RequestBody GoodsTypeVueParam goodsTypeVueParam){
        goodsTypeService.updateGoodsType(goodsTypeVueParam);
        return  R.ok();
    }
    //删除数据 根据id删除
    @GetMapping("/delGoodsType")
    public R delById(int id){
        goodsTypeService.delGoodsTypeById(id);
        return  R.ok();
    }
    //删除数据 批量删除
    @GetMapping("/delBatchGoodsType")
    public R delBatch(@RequestParam List<Integer> ids){
        goodsTypeService.delBatchGoodsTypeById(ids);
        return  R.ok();
    }
}
